宏基因组实战10. 绘制圈图-Circos安装与使用
前情提要
如果您在学习本教程中存在困难,可能因为缺少背景知识,建议先阅读本系列前期文章
Circos安装与使用
Circos是不款功能强大的可视化软件,可以使用环状图形展示基因数据比较。可以添加多种图展信息,如热图、散点图等。
本教程目标:
在Ubuntu上安装circos
可视化宏基因组数据
注: 除了本文的简短教程,circos官网有非常详细的教程
安装Circos
sudo apt-get -y install libgd-perl
wd=~/test/metagenome17
cd $wd
mkdir circos
cd circos
curl -O http://dib-training.ucdavis.edu.s3.amazonaws.com/metagenomics-scripps-2016-10-12/circos-0.69-3.tar.gz
tar -xvzf circos-0.69-3.tar.gz
# 安装模块
circos -modules > modules
grep missing modules |cut -f13 -d " " > missing_modules
for mod in $(cat missing_modules);
do
sudo cpan install $mod;
done
# 检查模块是否安装好,全部出现OK则全部安装成功
circos -modules
# 运行演示数据
cd $wd/circos/circos-0.69-3/example
bash run
Use of uninitialized value in join or string at /mnt/bai/yongxin/test/metagenome17/circos/circos-0.69-3/bin/../lib/Circos/Heatmap.pm line 75.
上面报错信息,但并没有影响结果生成
将会产生`circos.png
可视化基因覆盖度和方向
mkdir ${wd}/circos/plotting
cd ${wd}/circos/plotting
# 链接prokka注释文件,salmon定量文件
ln -fs ${wd}/annotation/prokka_annotation/metagG.gff .
ln -fs ${wd}/annotation/final.contigs.fa .
ln -fs ${wd}/quant/*.counts .
# 下载脚本辅助绘图
curl -L -O https://github.com/ngs-docs/2016-metagenomics-sio/raw/master/circos-build.tar.gz
tar -xvzf circos-build.tar.gz
curl -L -O https://s3-us-west-1.amazonaws.com/dib-training.ucdavis.edu/metagenomics-scripps-2016-10-12/subset_assembly.fa.gz
gunzip subset_assembly.fa.gz
# 上步无法下载可翻墙或从上节位置复制 cp $wd/anvio-work/subset_assembly.fa .
mv subset_assembly.fa final.contigs.fa
使用khmer包提取长contigs可视化(太多人类不可读)
# 进入python3虚拟环境
. ~/py3/bin/activate
extract-long-sequences.py final.contigs.fa -l 24000 -o final.contigs.long.fa
# 生成circos需要的文件
python parse_data_for_circos.py
python2.7.12报错File "/usr/local/lib/python2.7/dist-packages/pandas/core/indexing.py", line 1390, in error
(key, self.obj._get_axis_name(axis)))
KeyError: 'the label [count] is not in the [index]'
python3.5.2报错信息 KeyError: 'the label [count] is not in the [index]'
脚本应该是好脚本,只是不知道那里出了错。
# 手动运行脚本
mkdir -p org_gff
grep '>' final.contigs.long.fa |cut -f1 -d ' '|cut -f2 -d '>' > org_list
"for org in `cat org_list`; do grep -w $org metagG.gff > $org.subset.gff; done
mv *subset.gff org_gff
# 后面只有不多的python代码,只是我看不懂了,大神来帮忙看看问题吧parse_data_for_circos.py
Circos主要操作三类文件:
配置文件,包括样式和输出的图
核型文件,定义染色体大小布局
图中的具体配置属性
上面的脚本产生核形文件和另外四个文件,它们都是什么,从那来的吗?
我们进入circos-build
并打`circos
:
cd circos-build
circos
此命令会产生circos.svg
and circos.png
看结果吧。
我们仔细看一下circos.config
,可以按帮助尝试修改,如颜色、半径
大小,看看有那些变化?
其它CIRCOS相关教程
参考文献
英文版 https://2017-cicese-metagenomics.readthedocs.io/en/latest/circos_tutorial.html
文章链接 http://genome.cshlp.org/content/early/2009/06/15/gr.092759.109.abstract
官方教程 http://circos.ca/documentation/tutorials
官方课程 http://circos.ca/documentation/course/
猜你喜欢
写在后面
为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外七十多位PI,七百多名一线科研人员加入。参与讨论,获得专业指导、问题解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职务”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。
学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”